草庐IT

c++ - 异常 : bad_weak_ptr while shared_from_this

全部标签

javascript - nodejs - 这是哪个 "this"?

所以这是一个尴尬的问题,但我正在学习NodeJS,我有一个问题。在Java中,当我从对象调用方法时,this实例保持不变(如本例所示)。privateTestinst;publicTest(){inst=this;this.myFunction();}privatevoidmyFunction(){System.out.println(inst==this);}这会返回true(理论上,这是我头脑中的代码)。但是,在NodeJS中,当我尝试做类似的事情时失败了。varMyObject=function(){this.other=newOtherObject();this.other.o

javascript - Function.prototype.call 在严格模式之外改变 this 的类型;为什么?

varexample=function(){console.log(typeofthis);returnthis;};在严格模式下:example.call('test')#prints'string'否则,example.call('test')#prints'object'然而,console.log(example.call('test'))版画test(如你所料)为什么Function.call更改typeof'test'==='string'绑定(bind)到this里面example? 最佳答案 当使用call()并将t

javascript - Firebug 控制台窗口范围。为什么 "this"不总是相同的?

Firebug控制台作用域。为什么“这个”不总是一样的?不应该一直是“window”吗? 最佳答案 控制台中this的值将与当前正在执行的代码中this的值相同。考虑:-functionouter(){//thisiswindowvarx={n:12};varfn=function(){//thisisobject{n:12}alert(this.n);}fn.call(x);}...如果你在x={n:12}行打断点,切换到控制台你会发现this是窗口。但是,当您进入alert行时,控制台中的this是x变量持有的对象。IOW在执行

javascript - JavaScript 应该抛出什么类型的异常?

在JavaScript中应该抛出什么类型的对象?我看到很多examples它抛出一个普通的旧string并且似乎有一个半标准的Error类型。我应该更喜欢其中之一吗? 最佳答案 Error对象和特定的错误对象(例如TypeError)在ECMAScript规范中已完全标准化。但是,大多数浏览器都提供这些对象的通用非标准属性。只要您的错误处理代码知道如何处理您抛出的对象,您就可以抛出任何您喜欢的东西,但是使用Error对象有以下优点:与处理原生代码抛出的错误保持一致,例如具有message属性,因此您不必编写不同的代码来处理原生错误和

javascript - 为什么 JavaScript 按位或行为异常?

在JavaScript中,似乎:(4294958077|0)==-9219为什么不是4294958077?这表明存在某种溢出(尽管据我所知,JavaScript数字类型的范围是+/-9007199254740992,所以这本身就很奇怪。)就算是溢出,也一定(4294958077|0)==4294958077应该评估为true-但事实并非如此。请帮忙 最佳答案 它与浮点类型或溢出无关。它返回-9219因为标准要求这样做,因为所有二进制按位运算都必须使用有符号32位整数(ECMA-262§11.10)来完成。TheproductionA

javascript - 我可以将 "this"作为参数传递给 javascript 中的另一个函数吗

我有这个:$('#sliderli').click(function(){varstepClicked=$(this).index();alert(stepClicked);if(stepClicked!=0){$('#cs_previous').removeClass('cs_hideMe');}else{$('#cs_previous').addClass('cs_hideMe');}$('li.cs_current').removeClass('cs_current');$($(this)).addClass('cs_current');moveToNextImage(stepC

javascript - 这些神秘的javascript异常方法是什么?

我检查了GoogleChrome中的javascript异常。我注意到函数getmessage、getstack、setmessage和setstack。我trycatch此异常并运行alert(e.get_message());只是为了得到一个错误。我还尝试运行alert(e.getmessage());,这显然由于空格返回了另一个错误。这些神秘的方法是什么,开发人员如何调用它们? 最佳答案 它们是属性访问器。它们是在您获取或设置属性时运行的有效函数。e.message;//gettere.message="foobar";//s

javascript - JS : What is 'this' coercion? use-strict 和那个有什么关系?

我在网站上阅读了以下内容:Use-stricthasanadvantage.Iteliminatesthiscoercion.Withoutstrictmode,areferencetoathisvalueofnullorundefinedisautomaticallycoercedtotheglobal.Thiscancausemanyheadfakesandpull-out-your-hairkindofbugs.Instrictmode,referencingaathisvalueofnullorundefinedthrowsanerror.这到底是什么意思?use-strict

javascript - 试图在我的 javascript 代码中理解 "this"(一件事有效,另一件事无效)

我一直在尝试通过将一本书中的一些Jquery示例重构为javascript来学习javascript。在下面的代码中,我将点击监听器添加到选项卡,并在用户单击选项卡时使其变为事件状态。vartabs=document.querySelectorAll(".tabsaspan");varcontent=document.querySelectorAll("main.contentli");for(vartabNumber=0;tabNumber当我运行它时,它会返回一个未定义的错误。但是,我尝试用this.classList.add("active")替换tabs[tabNumber].

javascript - 在 JQuery 中,为什么 $(this) == $(this) 返回 false?

这个问题在这里已经有了答案:HowtodetermineequalityfortwoJavaScriptobjects?(82个回答)jQueryobjectequality(7个答案)关闭5年前。我在我的控制台中运行了以下行(一旦加载了jquery脚本),并收到了以下结果:$(this)>[Window]$(this)!=$(this)>true$(this)==$(this)>false$(this)===$(this)>false而且我不知道要采取什么步骤来弄清楚发生了什么。我的猜测是,有一些对象拥有一个基于时间的值,该值正在发生变化,但我想知道它是否有所不同。在此期间,我会尝试